package cn.iocoder.yudao.module.ai.controller.admin.operationalarm.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import java.util.*;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import com.alibaba.excel.annotation.*;

@Schema(description = "管理后台 - 运营中心-报警信息 Response VO")
@Data
@ExcelIgnoreUnannotated
public class OperationAlarmRespVO {

    @Schema(description = "自增编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "24776")
    @ExcelProperty("自增编号")
    private Long id;

    @Schema(description = "原始消息编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "350")
    @ExcelProperty("原始消息编号")
    private Long fromMessageId;

    @Schema(description = "在原始消息的消息索引号，从0开始")
    @ExcelProperty("在原始消息的消息索引号，从0开始")
    private Integer fromMessageIndex;

    @Schema(description = "所属企业编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "21611")
    @ExcelProperty("所属企业编号")
    private String companyId;

    @Schema(description = "所属企业名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "测试煤矿")
    private String companyName;

    @Schema(description = "报警消息编号(重复传做更新操作)", requiredMode = Schema.RequiredMode.REQUIRED, example = "27669")
    @ExcelProperty("报警消息编号(重复传做更新操作)")
    private String alarmId;

    @Schema(description = "工单编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "工单001")
    @ExcelProperty("工单编号")
    private String alarmNo;

    @Schema(description = "报警级别", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("报警级别")
    private String alarmLevel;

    @Schema(description = "报警级别", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("报警级别")
    private String alarmLevelName;

    @Schema(description = "报警类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    @ExcelProperty("报警类型")
    private String alarmType;

    @Schema(description = "报警描述", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("报警描述")
    private String alarmDesc;

    @Schema(description = "报警地点", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("报警地点")
    private String equipmentLocation;

    @Schema(description = "报警起始时间（yyyy-MM-dd hh:mm:ss）", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("报警起始时间（yyyy-MM-dd hh:mm:ss）")
    private LocalDateTime startTime;

    @Schema(description = "报警结束时间（yyyy-MM-dd hh:mm:ss）", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("报警结束时间（yyyy-MM-dd hh:mm:ss）")
    private LocalDateTime endTime;

    @Schema(description = "报警证据", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("报警证据")
    private String alarmEvidence;

    @Schema(description = "日志文件", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("日志文件")
    private String logStr;

    @Schema(description = "处置状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
    @ExcelProperty("处置状态")
    private String handleStatus;

    @Schema(description = "处置状态名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "处理中")
    @ExcelProperty("处置状态")
    private String handleStatusName;

    @Schema(description = "错误编码", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("错误编码")
    private String errorCode;

    @Schema(description = "相关参数", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("相关参数")
    private String relativeParams;

    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("创建时间")
    private LocalDateTime createTime;

    @Schema(description = "供应商id", example = "1856")
    @ExcelProperty("供应商id")
    private Long suplierId;

    @Schema(description = "详细描述", example = "adsf")
    private String alarmDetailDesc ;
}